package com.quan.upms.entity;

import javax.persistence.*;
import java.io.Serializable;
import java.util.Date;


/**
 * <p>
 * 通用用户权限系统-用户表
 * </p>
 *
 * @author 杨浩泉
 * @since 2018-05-13
 */
@Table(name = "tb_upms_user")
public class UpmsUser implements Serializable {

	private static final long serialVersionUID = 1L;

	/**
	 * ID
	 */
	@Id
	private Long id;

	/**
	 * 登录账号
	 */
	private String account;

	/**
	 * 密码(SHA256(密码+盐))
	 */
	private String password;

	/**
	 * 盐
	 */
	private String salt;

	/**
	 * 手机号码
	 */
	private String mobile;

	/**
	 * 邮箱
	 */
	private String email;

	/**
	 * 姓名
	 */
	@Column(name = "real_name")
	private String realName;

	/**
	 * 头像
	 */
	private String avatar;

	/**
	 * 性别(1:男,2:女,3:未知)
	 */
	private Integer sex;

	/**
	 * 状态(false:正常, true:锁定)
	 */
	private Boolean status;

	/**
	 * 登录次数
	 */
	@Column(name = "login_count")
	private Integer loginCount;

	/**
	 * 最后登录时间
	 */
	@Column(name = "last_login_time")
	private Date lastLoginTime;

	/**
	 * 最后登录IP
	 */
	@Column(name = "last_login_ip")
	private String lastLoginIp;

	/**
	 * 是否超级管理员（true：是，false：否）
	 */
	@Column(name = "super_admin")
	private Boolean superAdmin;

	/**
	 * 删除标识（0-正常,1-删除）
	 */
	@Column(name = "del_flag")
	private String delFlag;

	/**
	 * 创建时间
	 */
	private Date ctime;

	/**
	 * 最后更新时间
	 */
	private Date utime;


			
	/**
	 * 获取ID
	 */
	public Long getId() {
		return id;
	}
	
	/**
	 * 设置ID
	 */
	public void setId(Long id) {
		this.id = id;
	}
			
	/**
	 * 获取登录账号
	 */
	public String getAccount() {
		return account;
	}
	
	/**
	 * 设置登录账号
	 */
	public void setAccount(String account) {
		this.account = account;
	}
			
	/**
	 * 获取密码(SHA256(密码+盐))
	 */
	public String getPassword() {
		return password;
	}
	
	/**
	 * 设置密码(SHA256(密码+盐))
	 */
	public void setPassword(String password) {
		this.password = password;
	}
			
	/**
	 * 获取盐
	 */
	public String getSalt() {
		return salt;
	}
	
	/**
	 * 设置盐
	 */
	public void setSalt(String salt) {
		this.salt = salt;
	}
			
	/**
	 * 获取手机号码
	 */
	public String getMobile() {
		return mobile;
	}
	
	/**
	 * 设置手机号码
	 */
	public void setMobile(String mobile) {
		this.mobile = mobile;
	}
			
	/**
	 * 获取邮箱
	 */
	public String getEmail() {
		return email;
	}
	
	/**
	 * 设置邮箱
	 */
	public void setEmail(String email) {
		this.email = email;
	}
			
	/**
	 * 获取姓名
	 */
	public String getRealName() {
		return realName;
	}
	
	/**
	 * 设置姓名
	 */
	public void setRealName(String realName) {
		this.realName = realName;
	}
			
	/**
	 * 获取头像
	 */
	public String getAvatar() {
		return avatar;
	}
	
	/**
	 * 设置头像
	 */
	public void setAvatar(String avatar) {
		this.avatar = avatar;
	}
			
	/**
	 * 获取性别(1:男,2:女,3:未知)
	 */
	public Integer getSex() {
		return sex;
	}
	
	/**
	 * 设置性别(1:男,2:女,3:未知)
	 */
	public void setSex(Integer sex) {
		this.sex = sex;
	}
			
	/**
	 * 获取状态(false:正常, true:锁定)
	 */
	public Boolean getStatus() {
		return status;
	}
	
	/**
	 * 设置状态(false:正常, true:锁定)
	 */
	public void setStatus(Boolean status) {
		this.status = status;
	}
			
	/**
	 * 获取登录次数
	 */
	public Integer getLoginCount() {
		return loginCount;
	}
	
	/**
	 * 设置登录次数
	 */
	public void setLoginCount(Integer loginCount) {
		this.loginCount = loginCount;
	}
			
	/**
	 * 获取最后登录时间
	 */
	public Date getLastLoginTime() {
		return lastLoginTime;
	}
	
	/**
	 * 设置最后登录时间
	 */
	public void setLastLoginTime(Date lastLoginTime) {
		this.lastLoginTime = lastLoginTime;
	}
			
	/**
	 * 获取最后登录IP
	 */
	public String getLastLoginIp() {
		return lastLoginIp;
	}
	
	/**
	 * 设置最后登录IP
	 */
	public void setLastLoginIp(String lastLoginIp) {
		this.lastLoginIp = lastLoginIp;
	}
			
	/**
	 * 获取是否超级管理员（true：是，false：否）
	 */
	public Boolean getSuperAdmin() {
		return superAdmin;
	}
	
	/**
	 * 设置是否超级管理员（true：是，false：否）
	 */
	public void setSuperAdmin(Boolean superAdmin) {
		this.superAdmin = superAdmin;
	}
			
	/**
	 * 获取删除标识（0-正常,1-删除）
	 */
	public String getDelFlag() {
		return delFlag;
	}
	
	/**
	 * 设置删除标识（0-正常,1-删除）
	 */
	public void setDelFlag(String delFlag) {
		this.delFlag = delFlag;
	}
			
	/**
	 * 获取创建时间
	 */
	public Date getCtime() {
		return ctime;
	}
	
	/**
	 * 设置创建时间
	 */
	public void setCtime(Date ctime) {
		this.ctime = ctime;
	}
			
	/**
	 * 获取最后更新时间
	 */
	public Date getUtime() {
		return utime;
	}
	
	/**
	 * 设置最后更新时间
	 */
	public void setUtime(Date utime) {
		this.utime = utime;
	}

	@Override
	public String toString() {
    	return "UpmsUser{" +
        	"id=" + id +
	            	", account=" + account +
	            	", password=" + password +
	            	", salt=" + salt +
	            	", mobile=" + mobile +
	            	", email=" + email +
	            	", realName=" + realName +
	            	", avatar=" + avatar +
	            	", sex=" + sex +
	            	", status=" + status +
	            	", loginCount=" + loginCount +
	            	", lastLoginTime=" + lastLoginTime +
	            	", lastLoginIp=" + lastLoginIp +
	            	", superAdmin=" + superAdmin +
	            	", delFlag=" + delFlag +
	            	", ctime=" + ctime +
	            	", utime=" + utime +
	        "}";
	}

}
